/**
 * Copyright 2017 orivil Authors. All rights reserved.
 * Use of this source code is governed by a MIT-style
 * license that can be found at https://mit-license.org.
 */

package swagger

type Validation struct {

	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2.
	Maximum *float64 `json:"maximum,omitempty"`

	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.2.
	ExclusiveMaximum *bool `json:"exclusiveMaximum,omitempty"`

	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3.
	Minimum *float64 `json:"minimum,omitempty"`

	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.3.
	ExclusiveMinimum *bool `json:"exclusiveMinimum,omitempty"`

	// String length, less than or equal to
	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.1.
	MaxLength *int64 `json:"maxLength,omitempty"`

	// String length, greater than or equal to
	// https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.2.
	MinLength *int64 `json:"minLength,omitempty"`

	// Regular expression pattern
	// https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.2.3.
	Pattern *string `json:"pattern,omitempty"`

	// Item size, less than or equal to
	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.2.
	MaxItems *int64 `json:"maxItems,omitempty"`

	// Item size, greater than or equal to
	// https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.3.
	MinItems *int64 `json:"minItems,omitempty"`

	// Valid if all of items elements are unique
	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.3.4.
	UniqueItems *bool `json:"uniqueItems,omitempty"`

	// https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.5.1.
	Enum []interface{} `json:"enum,omitempty"`

	// See https://tools.ietf.org/html/draft-fge-json-schema-validation-00#section-5.1.1.
	MultipleOf *int64 `json:"multipleOf,omitempty"`
}